#pragma once

class OpeningBookUtil {
public:
	struct Position {
		int x, y;
	};

	static std::map<std::string, int> book;

public:
	
	/*struct Item {
		std::string state;
		int move_x;
		int move_y;

		Item(const std::string & state, int move_x, int move_y)
			:state(state), move_x(move_x), move_y(move_y)
		{}
	};*/

	static bool load(const std::string & path);

	static bool append(const std::string & path);

	static int del(const std::string & state);

	static int add_or_update(const std::string & state, int pos);

	static void states(std::vector<std::string> & out);

	static bool save(const std::string & path);

	static int get(const std::string & state);
};